草庐IT

c++ - g++ -std=c++0x 和兼容性

全部标签

windows - 如何检测我的应用程序是否在兼容模式下运行?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtodetecttrueWindowsversion我有一个应用程序使用第三方库(dll-无源代码)来保护(加密)一些客户数据,这个dll必须使用不同的参数初始化,具体取决于当前的Windows版本。如果我的应用程序在Windows7下以XP兼容模式执行,则dll加密方法失败。所以我需要一种方法来检测我的应用程序何时在兼容模式下运行以防止出现此问题。那么如何检测我的应用程序是否在兼容模式下运行?

c++ - std::tuple get<T>(tuple) 中的重复类型 T - 编译时断言失败

我将可变参数存储到std::tuple中的对象构造函数到目前为止一切顺利。但是当使用存储的参数和std::get()调用对象函数时,我将被抛出一个我根本不理解的编译时断言失败。只有当所有参数都不是不同类型时才会发生这种情况。编译器错误信息是:msvc\14.16.27023\include\tuple(934):errorC2338:duplicatetypeTinget(tuple)如下所示:#include#includeusingnamespacestd;templatestructstore_in_tuple{tuplem_tuple_args;store_in_tuple(A

c# - Windows 7 中的 ASP.NET 项目和 IE10 兼容模式问题

我有一个供许多客户使用的asp.net网站。我最近有一个客户转用了Win7和IE10。他告诉我,每当他试图查看我的网站时,系统都会提示他进入兼容模式。我试图在我的实验室中用IE10在几个Win7机器上重现这个。运气不好。所以我有几个问题:有没有人看到IE10在Win7上选择性地提示兼容模式?将他的浏览器配置为始终使用兼容模式有什么缺点?谢谢。 最佳答案 这种情况经常发生,不仅对于IE10,对于IE9也是如此。对我来说,最好不要使用兼容模式,因为它经常会破坏您的页面外观和功能。对此的良好解决方案-使用您网站的web.config:(在

windows - mingw std::thread 与 Windows API

我开始使用C++11std::thread(mingw4.8)到目前为止一切顺利。我遇到了重叠I/O的情况,其中sleepEx用于将线程置于可警告的等待状态。这工作得很好,直到必须使用QueueUserAPC,它返回一个“无效句柄错误”。经过一番查找,发现std::thread使用的是Windows下的pthread库。有没有什么方法可以使用WindowsAPI调用,它需要一个带有std::thread的线程句柄?或者我是否需要坚持使用Windows线程来处理重叠I/O? 最佳答案 为了解决您的问题,MinGW-w64winpthr

php - 通过命令行将 *(mp3、m4p 等)转换为 OGG 以兼容 HTML5

使用PHP将MP3动态转换为OGG有哪些选择?我假设执行此操作的唯一方法是通过带有execute语句的命令行。这是真的?如果是这样,我最好使用什么转换器(和相关命令)?我试过:oggenc2.exe但程序告诉我我传递的MP3不是有效的文件类型ffmpeg.exe但无法弄清楚如何从mp3转到ogg(虽然找到了如何从ogg转到mp3)Convertmp3tooggviaphp 最佳答案 你没看多远...exec("/usr/bin/ffmpeg-iinfile.mp3-acodeclibvorbisoutfile.ogg");

c++ - 在 AllocConsole 之前执行 std::endl 会导致不显示 std::cout

我正在尝试使用经典的RedirectIOToConsole函数在WindowsVisual2012、Linker/Subsystem=Windows(/SUBSYSTEM:WINDOWS)的输出控制台上重定向跟踪。在AllocConsole之前执行std::endl似乎会导致显示痕迹出现问题。下面是我的测试:#include#include#includevoidRedirectIOToConsole(){FILE*conin,*conout;AllocConsole();freopen_s(&conin,"conin$","r",stdin);freopen_s(&conout,"c

windows - iExpress 与 Windows 7、32 位不兼容?

当我使用iExpress(在Windows8中)创建.exe并尝试在32位Win7上运行它时,我收到一个错误对话框:“此文件的版本与您安装的Windows版本不兼容正在运行。检查您计算机的系统信息,了解您是否需要x86(32位)或x64(64位)版本的程序。”iExpress.exe是否与Win732位不兼容? 最佳答案 这听起来很像您正在创建64位可执行文件,它不能在32位系统上运行。如果您使用64位系统目录C:\Windows\System32中的IExpress版本,那么您确实会创建一个64位可执行文件。您需要创建一个32位可

c++ - 为什么 std::vector::at() 即使启用了优化也需要边界检查?

Windows中的libstdc++-6.dll有问题。这段代码:#include#includeintmain(){std::vectorx(10);std::cout编译很好,但是当我运行它时,我收到一条错误消息说Theprocedureentrypoint_ZSt24__throw_out_of_range_fmtPKczcouldnotbelocatedinthedlllibstdc++-6.dll我的问题是不是如何解决这个问题(这很可能是dll的错误版本,我只需要修复PATH)。然而,这让我意识到了一些意想不到的事情:当我打开优化时,上面的代码运行良好(不管错误的dll),即

Windows 上的 C++ std::string 转换问题

这是我的程序:boolOpen(std::stringfilename){...HANDLEhFile=CreateFile(filename.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);...}错误:“CreateFileW”:无法将参数1从“constchar*”转换为“LPCWSTR”指向的类型是不相关的;转换需要reinterpret_cast,C风格的转换或函数风格的转换问题出在哪里? 最佳答案 std::string由一个char数组组成

windows - Delphi 程序和 Windows 64 位兼容性问题

我有一些客户/候选人提示我的程序不能在他们的Windows764位版本上运行(已通过屏幕截图确认)。错误很奇怪,例如:inthetrialversioniamgettingaerrormessagewhenevericlickon\"mark\"\"delete\"\"help\".errormsgis:Accessviolationataddress0046C978inmodule\'ideduper.exe.\'readofaddress00000004windows7ultimate64bit.i7920@2.67GHz9gborram“标记”、“删除”和“帮助”只是TToolb